package com.hb.unic.core.exception;

import lombok.Getter;

/**
 * 系统异常
 *
 * @since v1.0，2023/8/26 13:58，create by Mr.Huang.
 */
@Getter
public abstract class SystemException extends Exception {

    /**
     * 序列化
     */
    private static final long serialVersionUID = -8027145634517186487L;

    /**
     * 错误标识
     */
    private final String errorCode;

    /**
     * 错误信息
     */
    private final String message;

    /**
     * 附带参数
     */
    private final Object[] args;

    /**
     * 构造方法
     * 
     * @param errorCode 错误码
     */
    public SystemException(String errorCode) {
        this(errorCode, null);
    }

    /**
     * 构造方法
     *
     * @param errorCode 错误码
     */
    public SystemException(String errorCode, String message) {
        this(errorCode, message, (Object[])null);
    }

    /**
     * 构造方法
     * 
     * @param errorCode 代码
     * @param args 附带参数
     */
    public SystemException(String errorCode, String message, Object... args) {
        super(message);
        this.errorCode = errorCode;
        this.message = message;
        this.args = args;
    }

}
